home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Dev / powerd / lib / powerd_lib.lha / PowerD / InStr.ass < prev    next >
Encoding:
Text File  |  1999-06-23  |  481 b   |  31 lines

  1. ; a0 - string
  2. ; a1 - string to find
  3. ; d0 - startindex=0
  4. ; (4,a7)  - string
  5. ; (12,a7) - startindex=0
  6.  
  7.     xdef    _InStr
  8.  
  9. _InStr    movem.l    d2/a2-a3,-(a7)
  10.     move.l    d0,d2
  11.     add.l    d0,a0
  12.     move.b    (a1)+,d0
  13. .loop    move.b    (a0)+,d1
  14.     beq.s    .notfound
  15.     cmp.b    d0,d1
  16.     bne.s    .loop
  17.     move.l    a0,a2
  18.     move.l    a1,a3
  19. .next    move.b    (a3)+,d1
  20.     beq.s    .found
  21.     cmp.b    (a2)+,d1
  22.     bne.s    .loop
  23.     beq.s    .next
  24. .found    subq.l    #1,a0
  25.     move.l    a0,d0
  26.     sub.l    d2,d0
  27.     bra.s    .finish
  28. .notfound    moveq    #-1,d0
  29. .finish    movem.l    (a7)+,d2/a2-a3
  30.     rts
  31.